1. Field of the Invention
This invention relates, in general, to event computing systems and, in particular, to correlating new events being offered by an event computing system with current consumers of the event computing system.
2. Description of the Related Art
The concept of “events” in the computing realm is a well-known concept whereby an action, or event, triggers another action helpful to a system user. Events are, for example, data generated by a provider and delivered through communication medium, such as a computer network, hard disk, or random access memory, to a set of interested consumers. The providers and consumers need not know one another's identity, since delivery is provided through intermediary software. This independence between provider and consumer is known as decoupling.
One example of an event computing system is a database event system. Modern database systems include support for event triggers. Event triggers associate a filter, which is a predicate that selects a subset of events and excludes the rest, with an action to take in response to events on the database. An event on a database is any change to the state of the database; a filter might be the reaching of certain threshold value for a particular database item.
Another example of an event computing system is a distributed event system, also known as a publish/subscribe (or pub/sub) system or a notification service. A pub/sub system is a mechanism whereby subscribers express interest in future information by some selection criterion (subscribing), publishers provide information (publishing), and a mechanism delivers the information to all interested subscribers. A notification service sends notifications, or alerts, about events of interest to users based on their subscriptions.
Notification services organize information around groups (also called channels, subjects, or streams). Providers or publishers publish events to groups and consumers or subscribers subscribe to all data from a particular group. Typically, the subscribers are presented with a selection of available content sources for the groups, and the ability to specify filters for each. The specification of filters represents the subscription that is compared to content published to the service. When a “match” occurs, a notification message containing the published content is sent to the subscriber.
Prior art systems utilize the concept of a subscriber profile to obtain and store basic information about the subscriber (name, age, email address, etc), and a notification service may attempt to also obtain more detailed information by requesting, but not requiring, the subscriber to give demographic information (age, sex, marital status, etc), address information, occupation, and information regarding interests (e.g., occupation, hobbies, etc). Not surprisingly, many subscribers give the bare minimum of information, fearing that any information beyond what they perceive as “necessary” might be used for marketing purposes or might be obtained by hackers and used for ill purpose.
The subscriber is then presented with a list of content sources to which they may subscribe and receive content on an ongoing basis. For example, a subscriber might subscribe to a Major League Baseball source to receive content related to all major league baseball teams, to a Wall Street Journal investment source for general financial information, and to a National Weather Service source to receive worldwide weather information; for broad-based information such as this, they might request (e.g., by checking a box or making a menu selection) to have the information sent to an email address for reading at their leisure. Further, the subscriber may be particularly interested certain elements from these broad categories, e.g., Philadelphia Phillies baseball scores and severe weather alerts for the Philadelphia region, and the price of IBM stock; for these areas of particular interest, the user might designate that the Phillies scores be sent to a handheld device that the subscriber carries with them and checks periodically, and have Philadelphia region severe weather alerts and IBM stock price changes sent immediately to an “always on” device such as a cell phone or pager so that the subscriber receives the content essentially instantaneously.
Once the subscriber has registered and made subscription selections, the notification service directs content and/or notifications regarding available content to the subscriber based upon the selections that they have made. All of the information above (general subscriber information as well as specific subscription selections and directives regarding delivery of content and/or content notifications/alerts) make up the subscriber profile of a subscriber.
A problem arises, however, when new subscription sources become available, sources to which the subscriber is not currently subscribed. In a service provider environment, e.g., AllTel's Axcess Services or Info Alerts by Cingular Wireless, there may be hundreds of thousands of customers using a notification service. When new content sources become available, it can be problematic for the provider to inform customers of the new content.
The notification service has an interest in increasing the number of subscriptions that subscriber subscribes to; for a telephone-related company such as the previously-mentioned AllTel or Cingular, increased data traffic increases revenues, since the subscriber uses the telephone services to access the subscriptions. For all types of service providers, advertising revenues can be increased with increased subscriptions, and higher quality services (e.g., reduced “spam”) can increase subscribers.
To advise subscribers of new content, the notification service has essentially two choices. First, they can decline to send information regarding the new subscription to that subscriber, since that subscriber has not selected the subscription. This assures the notification service that it is not sending unwanted and potentially annoying information (i.e. “spam”) to the subscriber. Alternatively, the notification service can send notification to the subscriber (and all subscribers) about the new content, even though the subscriber has not expressed interest in the content. While this may result in the subscriber deciding to subscribe to the new content events, it may also annoy the subscriber if the subscriber has no interest in the new content.
Accordingly, it would be desirable to have a method for evaluating the characteristics of new content with respect to subscriber profiles, and then accurately project, based on inferences from existing subscriber information, which subscribers are likely to be interested in the new content.